package es.udc.emarketapp.emarket.model.country.dao;

import es.udc.fbellas.j2ee.util.exceptions.InstanceNotFoundException;
import es.udc.fbellas.j2ee.util.exceptions.InternalErrorException;

import es.udc.emarketapp.emarket.model.country.vo.CountryVO;
import java.sql.Connection;
import java.util.List;

public interface SQLCountryDAO {

    public CountryVO findById(Connection connection, String idPais)
            throws InstanceNotFoundException, InternalErrorException;

    public CountryVO findById(Connection connection, String idPais, String lang)
            throws InstanceNotFoundException, InternalErrorException;

    public String findIdByName(Connection connection, String nomPais)
            throws InstanceNotFoundException, InternalErrorException;

    public List<CountryVO> findAllCountries(Connection connection,
            int startIndex, int count) throws InternalErrorException;

    public List<CountryVO> findAllCountries(Connection connection, String lang,
            int startIndex, int count) throws InternalErrorException;

    public List<CountryVO> findAvaliableCountriesToSpecifyShipping(Connection connection,
            String idVendedor, int startIndex, int count) throws InternalErrorException;

    public List<CountryVO> findAvaliableCountriesToSpecifyShipping(Connection connection,
            String idVendedor, String lang, int startIndex, int count) throws InternalErrorException;

    public List<CountryVO> findShippingCountries(Connection connection,
            String idVendedor, int startIndex, int count) throws InternalErrorException;

    public List<CountryVO> findShippingCountries(Connection connection,
            String idVendedor, String lang, int startIndex, int count) throws InternalErrorException;
}
